﻿using System;

namespace LxCFD
{
    public class LxConsole
    {
        private static IConsole _LxConsole = new DefaultConsole();

        public static void SetConsole(IConsole newlog)
        {
            _LxConsole = newlog;
        }
        public static void Info(string stringMessage)
        {
            _LxConsole.Info(stringMessage);
        }
        public static void Error(string stringMessage)
        {
            _LxConsole.Error(stringMessage);
        }
        public static void Calc(string stringMessage)
        {
            _LxConsole.Calc(stringMessage);
        }
        public static void Warn(string stringMessage)
        {
            _LxConsole.Warn(stringMessage);
        }
        public interface IConsole
        {
            void Calc(string stringMessage);
            void Info(string stringMessage);
            void Warn(string stringMessage);
            void Error(string stringMessage);
        }
        public class DefaultConsole : IConsole
        {
            public void Calc(string stringMessage)
            {
                Console.WriteLine(stringMessage);
            }

            public void Error(string stringMessage)
            {
                Console.WriteLine(stringMessage);
            }

            public void Info(string stringMessage)
            {
                Console.WriteLine(stringMessage);
            }

            public void Warn(string stringMessage)
            {
                Console.WriteLine(stringMessage);
            }
        }
    }
}
